 /*
  * ajax封装:
  * 第一步：导入axios文件
  * 第二步：创建ajax方法，曝光
  * 第三步：new一个Promise对象
  * 第四步：判断参数type为get
  * 第五步：使用axios组件的gpost方法，将url，data放入实参
  * 第六步：使用promise来触发成功后与失败后的函数
  */

 import axios from 'axios';//第一步：导入axios文件

 //第二步：创建ajax方法，曝光
 export default function ajax(url , data={} , type='GET'){
   //第三步：new一个Promise对象
   return new Promise((resolve , reject) => {
      let promise
      //第四步：判断参数type为get
      if(type === 'GET' || type === 'get'){
        //如果为get，将需要处理url跟data进行拼接
        let urlAx = '';
        //(1).data参数处理，字符拼接，例如：user=123&
        Object.keys(data).forEach(key => {
          urlAx += key +'='+ data[key] + '&'
        });
        //(2).url处理，将已处理的data参数拼接到url后面，例如：https://www.huangaigou.com:8080/login?user=123&pws=123
        if(urlAx !== ''){
          urlAx = urlAx.substring( 0 , urlAx.lastIndexOf('&'));
          url = url + '?' + urlAx
        }
        //(3).使用axios组件的get方法，将url放入实参
        promise = axios.get(url)
      }else if(type === 'POST' || type === 'post'){
        //第五步：使用axios组件的gpost方法，将url，data放入实参
        promise = axios.post(url,data)
      }
      //第六步：使用promise来触发成功后与失败后的函数
      promise.then(response => {
        //成功
        resolve(response.data)
      }).catch(error => {
        //失败
        reject(error)
      })
   })
 }
